home *** CD-ROM | disk | FTP | other *** search
/ CICA 1995 August / CICA - The Ultimate Collection of Shareware for Windows (Disc 2) (August 1995).iso / disc2 / programr / atre27.exe / ATREE_27 / EXPERT.TXT < prev    next >
Text File  |  1992-08-01  |  14KB  |  305 lines

  1. WHAT IS AN ALN?
  2.  
  3. An ALN (adaptive logic network) is a kind of artificial neural
  4. network.  It is a special case of the familiar multilayer perceptron
  5. (MLP) feedforward network and has been designed to perform basic
  6. pattern classification computations at extremely high speed --
  7. literally at the upper limit of speed for any digital system.
  8.  
  9. WHAT COULD ONE USE ALNS FOR?
  10.  
  11. They are currently being tried out in simulations using the atree
  12. software for various applications:
  13.  
  14. 1. Optical Character Recognition (OCR) -- a demo of OCR is included in
  15. atree release 2.7; the great immunity of ALN trees to noise is made clear
  16. (Thomas)
  17.  
  18. 2. Discriminating between two kinds of particles produced by an
  19. accelerator, where a decision must be made in less than 1/2
  20. microsecond
  21. (Volkemer).
  22.  
  23. 3. Designing control systems for prostheses to enable people with
  24. spinal cord damage to walk by means of functional electrical stimulation.
  25. Simplicity of fabrication, safety and lightness are important here.
  26. (Stein, et al.)
  27.  
  28. 4. Analyzing spectra of tarsands to determine the composition; data
  29. analysis was used to cut down the number of spectral measurements
  30. required from 700 to 25.
  31. (Parsons).
  32.  
  33. 5. Classifying the amount of fat in beef based on texture measures
  34. taken of ultrasound images of beef cattle.
  35. (McCauley et al.)
  36.  
  37. INPUTS
  38.  
  39. The following assumes the reader has read something about typical
  40. feed-forward neural nets.  In the case of ALNs, the input data to the
  41. learning system must be boolean.  Non-boolean data is coded into
  42. boolean vectors before entering the learning part.  This may involve
  43. arithmetic and table lookup operations.  Several boolean outputs may
  44. be used to provide outputs which are more complex than boolean, say
  45. continuous values.  There are no a priori limitations on the kind of
  46. functions that can be treated using ALNs.
  47.  
  48. ARCHITECTURE OF THE NET
  49.  
  50. The interconnections of nodes usually take the form of a binary tree,
  51. except that there are multiple connections of inputs to the leaf nodes
  52. of the tree, some involving inversions.  There is no limit to the
  53. number of hidden layers in practice.  Ten or fifteen is typical.
  54. A small net might have 255 nodes, a large one 65,535 nodes.
  55.  
  56. One doesn't have to worry about the shape of the net as much as with
  57. other networks.
  58.  
  59. THE ELEMENTS OF THE NEURAL NETWORK
  60.  
  61. The nodes (or adaptive logic elements) have two input leads. The input
  62. signals x1, x2 are boolean ( 0 or 1).  A connection "weight" to be
  63. used for each input ( to use the term for the usual kind of neural
  64. net) is determined by a single bit of information.  The nonlinearity,
  65. or "squashing function", used in ALNs is just a simple threshold
  66. (comparison to a constant).  Specifically, if b1 and b2 are boolean,
  67. then the element computes a boolean value which is 1 if and only if
  68.  
  69.      (b1 + 1) * x1 + (b2 + 1) * x2 >= 2.
  70.  
  71. The four combinations of b1 and b2 ( 00, 11, 10, 01) generate the four
  72. boolean functions of two variables: AND, OR, LEFT, and RIGHT, where
  73. LEFT(x1, x2) = x1 and RIGHT(x1, x2) = x2.  For example 1 * x1 + 1 * x2
  74. >= 2 if and only if both x1 AND x2 are 1.
  75.  
  76. The LEFT and RIGHT functions, in effect, serve to provide some
  77. flexibility in the interconnections.  They disappear after training is
  78. complete.
  79.  
  80. Two counters in the node count up and down in response to 0s and 1s
  81. desired of the network when the input to the node is 01 or 10
  82. respectively.  They try to determine the best function for the node
  83. even in the presence of noise and conflicting training data.  The
  84. counters also disappear after training is complete.
  85.  
  86. THE TRAINING OF THE TREE
  87.  
  88. A tree of such elements is randomly connected to some boolean input
  89. variables and their complements.  Inputs enter the tree at the leaves
  90. and the output is at the root node.  The input variables are
  91. components of a vector representing a pattern, such as a handwritten
  92. character.  Training on a set of input vectors, furnished with the
  93. desired boolean outputs, consists of presenting input vectors in
  94. random sequence, along with the desired outputs.  It results in an
  95. assignment of functions to nodes that allows the tree to approximate
  96. the desired outputs specified by the training data.
  97.  
  98. To orchestrate the changes to be made during training, a solution to
  99. the credit assignment problem is used.  It is based on the idea that
  100. if one input to an AND (OR) is 0 (1), then it doesn't matter what the
  101. nodes of the subtree attached to the other input are doing.  According
  102. to this simple rule, a node is responsible if a change in its output
  103. would change the network output.  (This is like backprop, except that
  104. the quantity being propagated backwards is either 0 or 1.)
  105.  
  106. The fact that all node functions are increasing causes a positive
  107. correlation between the node output and the network output, which
  108. indicates the direction of changes that must be made.  In addition,
  109. there is a small refinement which goes beyond this simple scheme. (You
  110. can look at the function starting
  111.  
  112. adapt(tree,vec,desired)
  113.  
  114. in atree.c to confirm that this is a very
  115. simple yet effective mechanism).
  116.  
  117. After training, the ALN then has built-in capacity to generalize, i.e.
  118. to give appropriate responses to other possible input vectors not
  119. presented during training.  This comes about not because of any
  120. additional hardware or software, but just because of the architecture
  121. of the tree -- trees filter out perturbations of the inputs.  Hence no
  122. speed is lost in order to generalize well -- the architecture does it.
  123.  
  124. The training set can contain contradictory samples, and the relative
  125. numbers of such conflicting samples for the same input will be taken into
  126. account in the training procedure to approximate maximum likelihood and
  127. Bayes decision rules.
  128.  
  129. BUILDING HARDWARE FROM THE TRAINED SYSTEM
  130.  
  131. Training an ALN results in a combinational logic circuit.  After
  132. adaptation, one eliminates LEFT and RIGHT functions, which are now
  133. redundant and groups the connected subtrees of two-input ANDs together
  134. to get ANDs of fanin >= 2.  Similarly for ORs.  The (alternating)
  135. layers of ANDs and ORs are logically equivalent to layers consisting
  136. entirely of NANDs.  (Use De Morgan's Law.)
  137.  
  138. The result is directly translatable into easily built hardware --
  139. essentially a tree of transistors.  This is far, far simpler than any
  140. other neural system.  There are no built in delays, flip-flops,
  141. arithmetic units or table look-ups to slow the system down.
  142.  
  143. HARDWARE SPEED
  144.  
  145. The execution time of such a circuit depends on the depth, not the
  146. size.  If we were using a twenty layer tree of transistors in
  147. submicron CMOS, the entire function would be executed in a few
  148. nanoseconds.
  149.  
  150. In the usual terms of numbers of one-bit connections per second, we
  151. would get many trillions of connections per second from an ALN,
  152. thousands of times more than existing special hardware systems for
  153. implementing backprop.  The fastest we know of on the market for
  154. backprop only allows a few billions of connections per second at peak
  155. rate.
  156.  
  157. COST OF HARDWARE
  158.  
  159. For small problems, even one of the off-the-shelf programmable chips that exist
  160. today can do the job, though at a slower rate than a custom chip.
  161. Such fast, inexpensive hardware is being investigated at an accelerator
  162. facility for making a fast trigger to recognize elementary particles in
  163. under 1/2 microsecond.  A few hundred dollars should cover the materials.
  164.  
  165. This is in sharp contrast to other kinds of neural networks where you
  166. need to have processors costing thousands of dollars just to get into
  167. the game seriously, and even then the result of all their expensive,
  168. learning will be a system that executes far more slowly than an ALN
  169. tree of transistors.  With ALNs, you are seriously in the game from
  170. day one with the atree simulators.
  171.  
  172. SPEED OF THE ATREE SIMULATOR
  173.  
  174. Even in the atree software simulator, evaluation is fast, thanks to
  175. the fact that boolean logic can be lazily evaluated.  Once one input
  176. to an AND gate is computed to be 0, we don't need the other input, so
  177. we can suppress a whole subtree of the computation.  Laziness can
  178. provide speedups by factors of 10 or 100 for typical problems.  On the
  179. other hand, backprop systems do not enjoy such speedups.  Non-logical
  180. MLPs compute *everything*.  It's like doing programming without any
  181. "if"-statements.  (It's no wonder the usual neural networks need
  182. massive parallelism -- they suffer from this serious omission.)
  183.  
  184. TRAINING SPEED
  185.  
  186. The adaptation algorithms are also designed to be fast: what
  187. corresponds to backprop, a credit assignment computation, is also
  188. combinational logic in hardware, so it will be possible to build systems
  189. which will adapt a tree at a rate of, say, 25 million patterns per
  190. second.
  191.  
  192. The difference in speed of training and execution of backprop systems
  193. on the one hand, and ALN systems on the other, results from the
  194. drastic simplification of the usual MLP paradigm to base it on boolean
  195. logic.  The difference is immense.  One shouldn't think of it as
  196. getting a racing car from a station wagon (twice as fast, say), it is
  197. more like getting a rocket from a hot air balloon (thousands of times
  198. faster).  As the problems get larger, the advantage of the ALN system
  199. over the usual MLP just keep on growing.
  200.  
  201. GENERALIZATION AND NOISE IMMUNITY
  202.  
  203. Good generalization without loss of speed is the strong point of
  204. ALNs.  Pattern classification problems generally require an output
  205. which is the same for all patterns in a class.  Members of a class are
  206. in some way similar.  Similarity could be based on all sorts of
  207. criteria, but generally it can be defined by saying two individuals
  208. have many features in common.  If a feature is represented by a
  209. boolean variable, then the above says, similarity can be measured by
  210. Hamming distance between boolean vectors.  In order to use ALNs, we
  211. generally have to code other representations of individuals into
  212. boolean vectors in such a way that similarity for pattern
  213. classification purposes is reflected in Hamming distance.
  214.  
  215. Binary trees with node functions AND, OR, LEFT, and RIGHT have been
  216. shown to have the property that the functions they realize tend to
  217. have the same output value when the inputs are perturbed.  This
  218. depends on averaging over all functions on the tree, weighted by the
  219. number of ways each can be produced by setting the two bits at each
  220. node which determine the node's function.  It is also necessary to
  221. average over all vectors and all perturbations of a given number of
  222. bits.
  223.  
  224. The plausible reasoning behind this is that when an input signal to a
  225. gate changes, it may or may not change the output.  A change to an
  226. input to an AND will not change its output if the other input to the
  227. AND is 0.  Over all, the probability of a change is 0.5, if one input
  228. changes.  So for a 10-layer tree, the probability of a single bit
  229. change at a leaf causing a change of the tree output is 1/1024.
  230.  
  231. ALNs match the solution to the problem to provide fast pattern
  232. recognition.  Simple properties of boolean logic provide speed,
  233. immunity to noise, and offer the possibility of lazy evaluation.
  234.  
  235. THE FUTURE
  236.  
  237. In the Fall of 1992, we expect to have a much enhanced version,
  238. embodying some recent developments, that have resulted in part thanks
  239. to interaction with people on Internet via email and news.  It will
  240. have
  241.  
  242. - superior adaptive algorithms for both continuous and boolean data
  243.  
  244. - an ability to deal with continuous values, without significant loss
  245.   in speed, that will make other MLPs obsolete, including those using  variants of backprop
  246.  
  247. - a sound statistical basis for fitting continuous functions
  248.  
  249. - a design methodology that will be easy to understand and will result in
  250.   provably *safe* systems; there will be no more problem of wild values being
  251.   produced by a "black box", so ALNs can be applied in safety-critical areas
  252.  
  253. - an interface to common database management systems on micros and mainframes
  254.  
  255. - an interface to a popular spreadsheet program under Windows.
  256.  
  257. - facilities to encourage developers to apply ALNs to pattern recognition
  258.   problems: OCR, voice, control of virtual realities etc.
  259.  
  260. - a price, since we can't carry on otherwise.
  261.  
  262. AN INVITATION
  263.  
  264. I hope the above arguments will be enough to convince the reader to
  265. try the atree release 2.0 software for Unix and/or the new release f2.7
  266. for Windows on the IBM PC and compatibles.  At the very least, you
  267. should take a look at the OCR demo in release 2.7 to see the great
  268. noise immunity which results from such simple means.
  269.  
  270. The lf language should make it easy to get started, and there are lots
  271. of examples in release 2.7. (You could look at them even if you only
  272. want the Unix version.)
  273.  
  274. If you like what you see, work with us.  Lots of researchers are doing
  275. so, some via the net: physicists, engineers, neuroscientists, speech
  276. pathologists, ...
  277.  
  278. Join the alnl mailing list (email to alnl-request@cs.ualberta.ca
  279. providing a correct address that will last for a while please).
  280.  
  281. The interest in backprop-type neural networks which has blossomed in
  282. the last few years is obviously fading fast and funding is less than
  283. expected.  I heard that it is because "neural networks" were just
  284. slightly better than standard techniques.  The problems that need high
  285. speed pattern recognition are still there, though, and when speed is
  286. an issue, ALNs are not just slightly better, but thousands of times
  287. better than anything else.
  288.  
  289. As for the quality of ALN classifiers, you'll just have to try them
  290. out in your area of application. For beef grading, at last report,
  291. ALNs were the best technique they had.  A particle physicist, as far
  292. as I know, is still trying to explain what information an ALN was
  293. using that managed to learn even when he deprived it of momentum
  294. information that was thought to be essential.  In prosthetics, the ALN
  295. didn't make a mistake a physiotherapist did, even though the mistake
  296. was in the training set.  A lot of people are pretty happy about their
  297. results with ALNs.
  298.  
  299. Good luck with your results using them!
  300.  
  301. Bill Armstrong
  302.  
  303. The file for release 2.7 will be announced as soon as it is available.
  304. Another posting will provide a list of references.
  305.